﻿using Luminescence.Xiph;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Windows.Media.Imaging;
using System.IO;

namespace XiphTestProject
{
    
    
    /// <summary>
    ///Classe de test pour ID3PictureFrameTest, destinée à contenir tous
    ///les tests unitaires ID3PictureFrameTest
    ///</summary>
   [TestClass()]
   public class ID3PictureFrameTest
   {


      private TestContext testContextInstance;

      /// <summary>
      ///Obtient ou définit le contexte de test qui fournit
      ///des informations sur la série de tests active ainsi que ses fonctionnalités.
      ///</summary>
      public TestContext TestContext
      {
         get
         {
            return testContextInstance;
         }
         set
         {
            testContextInstance = value;
         }
      }

      #region Attributs de tests supplémentaires
      // 
      //Vous pouvez utiliser les attributs supplémentaires suivants lorsque vous écrivez vos tests :
      //
      //Utilisez ClassInitialize pour exécuter du code avant d'exécuter le premier test dans la classe
      //[ClassInitialize()]
      //public static void MyClassInitialize(TestContext testContext)
      //{
      //}
      //
      //Utilisez ClassCleanup pour exécuter du code après que tous les tests ont été exécutés dans une classe
      //[ClassCleanup()]
      //public static void MyClassCleanup()
      //{
      //}
      //
      //Utilisez TestInitialize pour exécuter du code avant d'exécuter chaque test
      //[TestInitialize()]
      //public void MyTestInitialize()
      //{
      //}
      //
      //Utilisez TestCleanup pour exécuter du code après que chaque test a été exécuté
      //[TestCleanup()]
      //public void MyTestCleanup()
      //{
      //}
      //
      #endregion


      [TestMethod()]
      public void FlacCoverJpegTest()
      {
         var buffer = File.ReadAllBytes(@"E:\Home\Important\Development\Projects\Luminescence.Xiph\Sources\Samples\Sources\cover.jpg");
         var frame = new ID3PictureFrame(buffer, ID3PictureType.FrontCover);

         Assert.AreEqual<string>("image/jpeg", ID3PictureFrame.GetMimeType(frame.GetBitmapFrame()));
      }

      [TestMethod()]
      public void FlacCoverPngTest()
      {
         var buffer = File.ReadAllBytes(@"E:\Home\Important\Development\Projects\Luminescence.Xiph\Sources\Samples\Sources\cover.png");
         var frame = new ID3PictureFrame(buffer, ID3PictureType.FrontCover);

         Assert.AreEqual<string>("image/png", ID3PictureFrame.GetMimeType(frame.GetBitmapFrame()));
      }
   }
}
